BoxView — удобный autolayout для iOS

Хочу поделиться библиотекой для эффективного построения пользовательского интерфейса iOS приложений на основе autolayout.

Хотя с появлением SwiftUI актуальность autolayout быстро уменьшается, пока этот механизм все еще активно используется, и библиотека может быть полезна для тех, кто создает (или меняет) UI непосредственно в коде.

У такого способа построения интерфейса есть ряд недостатков, которые ограничивают его применение:

  • Очень неудобно организовано создание NSLayoutConstraint элементов.
  • Плохая наглядность — посмотрев на код трудно понять как будет выглядеть UI.
  • Большое количество рутинного кода. Для размещения каждой view требуется создание в среднем около 3 constraints, т.е. три строки однотипного кода.
  • Трудоемкость создания динамически изменяемых интерфейсов: требуется сохранять constraints в отдельных переменных, чтобы затем можно было их менять, а также часто создавать избыточные constraints и «выключать» ненужные.

Первая проблема

Читать далее